package com.macro.mall.portal.service;

import com.macro.mall.mgb.model.SmsCoupon;
import com.macro.mall.portal.domain.CartPromotionItem;
import com.macro.mall.portal.domain.SmsCouponHistoryDetail;

import java.util.List;

/**
 * @author wangwang
 * @version 1.0
 * @description 会员优惠券管理
 * @date 2025/7/31 8:43
 */
public interface MemberCouponService {
    /**
     * 会员添加优惠券
     * @param couponId
     */
    void add(Long couponId);

    /**
     * 获取当前商品相关优惠券
     * @param productId
     * @return
     */
    List<SmsCoupon> listByProduct(Long productId);

    /**
     * 根据购物车信息获取可用优惠券
     */
    List<SmsCouponHistoryDetail> listCart(List<CartPromotionItem> cartItemList, Integer type);

    /**
     * 获取会员优惠券列表
     * @param useStatus
     * @return
     */
    List<SmsCoupon> list(Integer useStatus);
}
